package br.Repositorio;

import android.content.Context;

public class RepositorioScript{
	//Script para fazer drop na tabela
	private static final String SCRIPT_DATABASE_DELETE = "DROP TABLE IF EXISTS disciplina; DROP TABBLE IF EXISTS atividade;";
	//Cria a tabela com o "_id" sequencial
	private static final String[] SCRIPT_DATABASE_CREATE = new String[]{
		"create table disciplinas(id integer primary key autoincrement, nome text not null, professor text, site text, dataHora text, media double, calculoDaMedia text, nroFaltas integer); ",
		"create table atividades(id integer primary key autoincrement, tipo integer not null, descricao text, dia text, nota double, id_disciplina integer, constraint fk_disciplina foreign key (id_disciplina) references disciplinas (id));",  
		"insert into disciplina(nome) values ('FSI');", 
		"insert into disciplina(nome) values ('Banco de Dados')", 
		"insert into disciplina(nome) values ('Contabilidade');",
		"insert into atividade(nome, tipo, id_disciplina) values ('P1', 0 ,1);",
		"insert into atividade(nome, tipo, id_disciplina) values ('T1', 1, 2);"};
		
	// Nome do Banco
	private static final String NOME_BANCO = "grade_manager";
	// Controle de versao
	private static final int VERSAO_BANCO = 1;
	// Classe utilitaria para abrir, criar, e atualizar o banco de dados
	private SQLiteHelper dbHelper;
	//Cria o banco de com um script SQL
	public RepositorioScript(Context ctx){
		// Criar utlizando um script SQL
		dbHelper = new SQLiteHelper(ctx, RepositorioScript.NOME_BANCO, RepositorioScript.VERSAO_BANCO, RepositorioScript.SCRIPT_DATABASE_CREATE, RepositorioScript.SCRIPT_DATABASE_DELETE);
		// Abre o banco no modo escrita para poder alterar tambem
		RepositorioAtividade.db = dbHelper.getWritableDatabase();
		RepositorioDisciplina.db = dbHelper.getWritableDatabase();
	}
	
	//Fecha o banco
	public void fechar(){
		if(dbHelper != null){
			dbHelper.close();
		}
	}
		
}
